
import java.awt.Color;
import javax.swing.JPanel;
import javax.swing.SwingConstants;


public class Espaco extends JPanel{
	private static final long serialVersionUID = 1L;

	private Personagem personagem;
	private boolean moveable;
	private boolean selected;
        private int px;
        private int py;

        public int getPx() {
            return px;
        }

        public void setPx(int px) {
            this.px = px;
        }

        public int getPy() {
            return py;
        }

        public void setPy(int py) {
            this.py = py;
        }

	
	//construtor
	public Espaco(int tamanho, Personagem personagem){
		if (personagem != null){
			setPersonagem(personagem);	
		}
		setBounds(0,0,tamanho,tamanho);
		setMoveable(false);
		

	}
	
	public void setPosicao(int x, int y){
		setBounds(y, x, getWidth(), getHeight());	
	}
	
	public Personagem getPersonagem() {
		return personagem;
	}

	public void setPersonagem(Personagem personagem) {
		if (personagem == null){
			remove(this.personagem);
			repaint();
			this.personagem = null;
			return;
		}
		
		if ( this.personagem == null){
			this.personagem = personagem;
			personagem.setBounds(getBounds());
			personagem.setHorizontalAlignment(SwingConstants.CENTER);
			personagem.setVerticalAlignment(SwingConstants.CENTER);
			add(personagem);
			repaint();
		}
		
	}

	public boolean isMoveable() {
		return moveable;
	}

	public void setMoveable(boolean moveable) {
		this.moveable = moveable;
		if (moveable) setBackground(Color.BLUE); else setBackground(Color.WHITE);
	}
	
	public boolean isSelected() {
		return selected;
	}

	public void setSelected(boolean selected) {
		this.selected = selected;
		if (selected) setBackground(Color.RED); else setBackground(Color.WHITE);
	}
	
	
}
